﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using KenLib.BusinessManager;
using DataInfo;

public partial class frmD_UserLoginManager : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        ((MasterPage)this.Master).changeTitle("社員ログイン管理");

        //Session.Add("役", "3");
        //Session["人コード"] = "15";
        //Session["企業コード_2"] = "188";

        //Session.Add("役", "1");
        //Session["人コード"] = "1";
        //Session["企業コード_2"] = "186";

        //Session.Add("役", "2");
        //Session["人コード"] = "2";
        //Session["企業コード_2"] = "188";
        if ((Session["人コード"] == null || Session["人コード"].ToString() == "") && (Session["企業コード_2"] == null || Session["企業コード_2"].ToString() == "") && (Session["役"] == null || Session["役"].ToString() == ""))
        {
            Response.Redirect("frmD_Login.aspx");
        }

        if (!IsPostBack)
        {
            ////////////////////////////////////////////////////////////////////////////////////////
            ///////////////////////TRACK ROUTING///////////////////////////////////////////////////

            //Session["url"] = "";
            if (Request.UrlReferrer != null)
            {
                Session["url"] = Request.UrlReferrer.ToString();
            }
            else
            {
                Session["url"] = "frmD_Login.aspx";
            }

            Session["emplogin"] = Session["人コード"].ToString();
            if (Session["役"].ToString() != "1")
            {
                Session["complogin"] = Session["企業コード_2"].ToString();
            }

            txt_現パスワード.Attributes.Add("value", txt_現パスワード.Text);
            Page.ClientScript.RegisterHiddenField("__EVENTTARGET", Button1.UniqueID);


            ///////////////////////////////////////////////////////////////////////////////////////////
            ////////////////////////Set paramater using ViewSate, Session//////////////////////////////
            //////////////////////////////////////////////////////////////////////////////////////////
            ViewState["roleUser"] = "";
            
            ViewState["command"] = 0;
            ClearTextPage();

            if (Session["役"].ToString() == "3")
            {
                txt_現パスワード.Focus();
                HiddenField1.Value = "3";//Hiden field for KeyEnter
                Session["employeecode"] = Session["emplogin"].ToString();
                Session["companycode"] = Session["complogin"].ToString();

                ddl_ユーザ権限.Enabled = false;
                ddl_状態.Enabled = false;
                pnlAdmit.Visible = false;
                pnl_現パスワード.Visible = true;
                pnl_Edit.Visible = true;
                pnl_Insert.Visible = false;
                CompareValidator1.ControlToCompare = "txt_新パスワード";
                ShowDataWithRole();
                if (Request.QueryString.ToString() != "")
                {
                    Response.Redirect("frmD_UserLoginEdit.aspx");
                }

                HiddenField2.Value = "3";
            }
            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            //----------------------------------Else role is : 1 or 2 - This is Admin and SysAdmin------------------------------------------------
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            if (Request.QueryString["id1"] != null && Request.QueryString["id2"] != null && Request.QueryString["e"] != null)
            {
                //Process common for Admin and SysAdmin
                int id;
                int company;
                int comand;

                //Int32.TryParse(Request.QueryString["id1"].ToString(), out id);
                //Int32.TryParse(Request.QueryString["id2"].ToString(), out company);
                Int32.TryParse(Request.QueryString["e"].ToString(), out comand);

                //if (id != 0 && comand != 0 && company != 0)
                if (comand != 0 && (Request.QueryString["id1"] != null || Request.QueryString["id1"] != "") && (Request.QueryString["id2"] != null || Request.QueryString["id2"]!=""))
                {
                    pnl_現パスワード.Visible = false;
                    ///////////////////////////////////////////////////////////////////////////////////
                    ////////////lay tham so cua User can change password va role tren Browser/////////
                    /////////////////////////////////////////////////////////////////////////////////
                    Session["employeecode"] = Request.QueryString["id1"].ToString();//
                    Session["companycode"] = Request.QueryString["id2"].ToString();
                    ViewState["command"] = comand;

                    ////////////////////////////////////////////////////////////////////////////////////////////////
                    ////////////////GetCurrentRoleOfUserBelongtoParamAddressbar////////////////////////////////////
                    ////////////////Get Role belong to param of address paramater/////////////////////////////////
                    /////////////////////////////////////////////////////////////////////////////////////////////
                    string chuoi = GetRoleCurrentOfUser(Session["companycode"].ToString(), Session["employeecode"].ToString());
                    ViewState["roleUser"] = chuoi;//asign role into ViewState

                    if (ViewState["roleUser"].ToString() == "1" && Session["役"].ToString() == "2")
                    {
                        Response.Redirect("frmD_Login.aspx");
                    }

                    /////////////////////////////////////////////////////////////////////////////////////////////////////
                    /////////////////////////////////This mode: set password for user and role//////////////////////////
                    ///////////////////////////////////////////////////////////////////////////////////////////////////

                    if (comand == 1)//Provide password cho another user 
                    {
                        pnl_Edit.Visible = false;
                        pnl_Insert.Visible = true;
                        CompareValidator1.ControlToCompare = "txt_パスワード";
                        CompareValidator1.ErrorMessage =  GetError("ER00015");
                        HiddenField1.Value = "1";//Hiden field for KeyEnter
                        if (Session["役"].ToString() == "1" || Session["役"].ToString() == "2")
                        {
                            ShowDataWithRole();
                        }

                        //if (Session["役"].ToString()=="1")
                        txt_パスワード.Focus();
                        HiddenField2.Value = "1";
                    }
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    ///////////////////////////////////////this is mode: change password va role cho user////////////////////////////////////////////////////////////
                    else if (comand == 2)
                    {
                        //If Admin and Sysadmin change password for himself
                        if (Session["役"].ToString() == ViewState["roleUser"].ToString())
                        {
                            pnlAdmit.Visible = false;
                            HiddenField1.Value = "2";//Hiden field for KeyEnter
                        }
                        //Admin with Role 1, 2 change password and role for another user
                        else
                        {
                            HiddenField1.Value = "4";//Hiden field for KeyEnter
                            pnlAdmit.Visible = true;
                        }

                        pnl_Edit.Visible = true;
                        pnl_Insert.Visible = false;

                        CompareValidator1.ControlToCompare = "txt_新パスワード";
                        CompareValidator1.ErrorMessage =  GetError("ER00015");

                        ShowDataWithRole();
                        ChangeShowDataWithRole();

                        //if (Session["役"].ToString()=="1")
                        txt_新パスワード.Focus();
                        HiddenField2.Value = "2";
                    }
                }
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////
            /////////////////////////NHAN VIEN PHAI CU//////////////////////////////////////////////////////////
            //////////CHI DC PHEP CHANGE PASSWORD CUA CHINH NO////////////////////////////////////////////////
            ///////////////////////////////////////////////////////////////////////////////////////////////////
            if (Session["frm_MRecCompManager_flag"] != null || Session["frm_MRecCompManager_flag"] != "")
            {
                string _str_frm_MRecCompManager_flag = (string)Session["frm_MRecCompManager_flag"];
                /////////////////////////////////////////////////////////////////////////////////////
                if (_str_frm_MRecCompManager_flag == "0")
                {
                    //--------------------------La nhan vien phai cu------------------------------
                    string userlogin = (string)Session["人コード"];
                    string macongty = (string)Session["企業コード_2"];
                    Session["employeecode"] = userlogin;
                    Session["companycode"] = macongty;

                    ddl_ユーザ権限.Enabled = false;
                    ddl_状態.Enabled = false;
                    pnlAdmit.Visible = false;
                    pnl_現パスワード.Visible = true;
                    pnl_Edit.Visible = true;
                    pnl_Insert.Visible = false;
                    pnl_Information.Visible = false;

                    CompareValidator1.ControlToCompare = "txt_新パスワード";
                    ShowDataNhanVienPhaiCu(macongty, userlogin);
                    txt_現パスワード.Focus();
                    HiddenField2.Value = "4";
                    HiddenField1.Value = "5";//Hiden field for KeyEnter
                }
                else
                {
                    //if (_str_frm_MRecCompManager_flag == "1")
                    //{
                    //    if (Session["frmD_UserLoginManager_人コード"] != null && Session["frmD_UserLoginManager_人コード"] != "" && Session["frmD_UserLoginManager_企業コード"] != null && Session["frmD_UserLoginManager_企業コード"] != "")
                    //    {
                    //        //Admin change for NVPC staff
                    //        string userlogin = (string)Session["frmD_UserLoginManager_人コード"];
                    //        string macongty = Session["frmD_UserLoginManager_企業コード"].ToString();
                    //        pnlAdmit.Visible = false;

                    //    }
                    // }

                    if (Session["frmD_UserLoginManager_人コード"] != null && Session["frmD_UserLoginManager_人コード"] != "" && Session["frmD_UserLoginManager_企業コード"] != null && Session["frmD_UserLoginManager_企業コード"] != "")
                    {
                        string userlogin = (string)Session["frmD_UserLoginManager_人コード"];
                        string macongty = Session["frmD_UserLoginManager_企業コード"].ToString();
                        pnl_現パスワード.Visible = false;
                        pnlAdmit.Visible = false;
                        pnl_Edit.Visible = true;
                        pnl_Insert.Visible = false;
                        pnl_Information.Visible = false;

                        CompareValidator1.ControlToCompare = "txt_新パスワード";
                        CompareValidator1.ErrorMessage =  GetError("ER00015");

                        ShowDataNhanVienPhaiCu(macongty, userlogin);
                        txt_新パスワード.Focus();
                        HiddenField2.Value = "5";
                        HiddenField1.Value = "6";//Hiden field for KeyEnter
                    }
                        
                }
            }


            LoadErrorValidatorControl();
        }
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Load ma loi cho cac control Valid
    /// </summary>
    private void LoadErrorValidatorControl()
    {
        //Load message error for validator control
        CustomValidator1.ErrorMessage = GetError("ER00013");
        CustomValidator2.ErrorMessage = GetError("ER00013");
        CustomValidator3.ErrorMessage = GetError("ER00013");
        CompareValidator1.ErrorMessage = GetError("ER00013");
        RequiredFieldValidator1.ErrorMessage = GetError("ER00001");
        RequiredFieldValidator2.ErrorMessage =  GetError("ER00001");
        RequiredFieldValidator3.ErrorMessage =  GetError("ER00001");
        RequiredFieldValidator4.ErrorMessage = GetError("ER00001");
        RequiredFieldValidator5.ErrorMessage =  GetError("ER00001");
        RequiredFieldValidator6.ErrorMessage = GetError("ER00001");

    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Get thong diep loi ung voi ma loi
    /// </summary>
    public String GetError(string errorid)
    {
        Error er = new Error();
        er.ErrorID = errorid;
        ErrorManager frm_error = new ErrorManager();
        DataTable dt = frm_error.getError(er);
        return dt.Rows[0][2].ToString();
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Kiem tra mat khau co ton tai va trung voi mat khau trong CSDL
    /// </summary>
    protected void ServerValidation(object source, ServerValidateEventArgs args)
    {
        本社情報Manager _mana = new 本社情報Manager();
        String para2 = Session["employeecode"].ToString();
        String para1 = Session["companycode"].ToString();
        String getPassword = _mana.GetPassword_Ad04_Role_3_Vh(para1, para2);
        String current_pass = AppCode_Common.Encrypt(txt_現パスワード.Text, true);

        if (current_pass.Equals(getPassword) == true)
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = false;
        }
    }
    
    protected void Button1_Click(object sender, EventArgs e)
    {
        /////////////////////////////////////////////////////////////////////
        //-------------Get role of User is logged----------
        String role = Session["役"].ToString();
        string command = ViewState["command"].ToString();

        本社情報Manager _mana = new 本社情報Manager();

        #region "Set Password for User"
        //Role: 1 or 2  same : Admin & Sysadmin
        if ((role == "1" || role == "2") && command == "1")
        {   //Provide password for anotheruser

            string para1_企業コード = lbl_企業コード.Text;
            string para2_社員コード = lbl_社員コード.Text;
            string para3_パスワード = AppCode_Common.Encrypt(txt_パスワード.Text, true);
            int id_current;
            String 人コード_login = Session["emplogin"].ToString();//person which provide password
            DateTime dt = DateTime.Now;//Date provide password

            int kq = _mana.insert_ユーザログイン_Ad04_Vh(para1_企業コード, para2_社員コード, para3_パスワード, out id_current, 人コード_login, dt);
            if (kq != -1 && kq != 0 && id_current != 0)
            {
                bool para4_アカウント = false;
                if (ddl_状態.SelectedValue.ToString() == "1")
                    para4_アカウント = true;
                else if (ddl_状態.SelectedValue.ToString() == "0")
                    para4_アカウント = false;

                int para5_役 = Int32.Parse(ddl_ユーザ権限.SelectedValue.ToString());
                kq = 0;
                kq = _mana.insert_ユーザ管理_Ad04_Vh(id_current, para1_企業コード, para4_アカウント, para5_役);

                if (kq != -1 && kq != 0)
                {
                    ClearTextPage();
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                    Response.Redirect(Session["url"].ToString());
                }
            }

        }
        #endregion

        #region "User change password for himself"

        //Role: 3 - This is changing Password of own User
        if (Session["役"].ToString() == "3")
        {
            int kq = 0;
            string para1_企業コード = lbl_企業コード.Text;
            string para2_社員コード = lbl_社員コード.Text;
            string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);
            kq = _mana.update_ユーザログイン_Ad04_Role_3_Vh(para1_企業コード, para2_社員コード, para3_パスワード);

            if (CustomValidator3.IsValid == true && (kq != 0 || kq != -1))
            {
                ClearTextPage();
                //ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                Response.Redirect(Session["url"].ToString());
            }
        }
        #endregion

        #region "Role 1 or 2 change password and role for User"
        if (command == "2")
        {
            string role_param = ViewState["roleUser"].ToString();
            string role_login = Session["役"].ToString();

            #region "Role 1 or 2 change password for himself"
            if ((role_login == "1" || role_login == "2") && role_param == role_login)
            {
                int kq = 0;
                //information of person which is change a password
                string para1_企業コード = lbl_企業コード.Text;//Ma cong ty tren giao dien
                string para2_社員コード = lbl_社員コード.Text;//Ma nhan vien tren giao dien
                string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);

                //Person name and date change password
                String _login人コード = Session["emplogin"].ToString();//Ten cua nguoi quan tri da thay doi mat khau
                DateTime date = DateTime.Now;

                kq = _mana.update_Passwordユーザログイン_Ad04_ForAdmin_AndSysAdmin_Vh(para1_企業コード, para2_社員コード, para3_パスワード, _login人コード, date);
                if (kq != 0 && kq != -1)
                {  //success
                    ClearTextPage();
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                    Response.Redirect(Session["url"].ToString());
                }
            }
            #endregion
            #region "Role 1 and 2 change password for anothor User"
            else
            {
                if (role == "1")//Admin update for another user
                {
                    int kq = 0;
                    string para1_企業コード = lbl_企業コード.Text;//Ma cong ty
                    string para2_社員コード = lbl_社員コード.Text;//Ma nhan vien
                    string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);//Mat khau
                    int IdCurrent = 0;

                    //First: Update ユーザログイン table
                    String 人コード_login = Session["emplogin"].ToString();//Get name of person which changing password for another user
                    DateTime dt = DateTime.Now;
                    kq = _mana.update_ユーザログイン_Ad04_Role_1_2_Vh(para1_企業コード, para2_社員コード, para3_パスワード, out IdCurrent, 人コード_login, dt);

                    //Second: Update ユーザ管理 table
                    if (kq != 0 && IdCurrent != 0)
                    {
                        bool para4_アカウント = false;

                        if (ddl_状態.SelectedValue.ToString() == "1")
                            para4_アカウント = true;
                        else if (ddl_状態.SelectedValue.ToString() == "0")
                            para4_アカウント = false;

                        int para5_役 = Int32.Parse(ddl_ユーザ権限.SelectedValue.ToString());
                        kq = 0;
                        kq = _mana.update_ユーザ管理_Ad04_Role_1_2_Vh(IdCurrent, para4_アカウント, para5_役);
                        if (kq != 0 && kq != -1)
                        {  //success
                            ClearTextPage();
                            //ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                            Response.Redirect(Session["url"].ToString());
                        }
                    }

                }

                if (role == "2")//Sysadmin update password for another user
                {
                    //Only change password and role for another. Don't change password and role for itself

                    int kq = 0;
                    string para1_企業コード = lbl_企業コード.Text;
                    string para2_社員コード = lbl_社員コード.Text;
                    string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);
                    int IdCurrent = 0;

                    //First: Update ユーザログイン table
                    String 人コード_login = Session["emplogin"].ToString();
                    DateTime dt = DateTime.Now;
                    kq = _mana.update_ユーザログイン_Ad04_Role_1_2_Vh(para1_企業コード, para2_社員コード, para3_パスワード, out IdCurrent, 人コード_login, dt);

                    //Second: Update ユーザ管理 table
                    if (kq != 0 && kq != -1 && IdCurrent != 0)
                    {
                        bool para4_アカウント = false;

                        if (ddl_状態.SelectedValue.ToString() == "1")
                            para4_アカウント = true;
                        else if (ddl_状態.SelectedValue.ToString() == "0")
                            para4_アカウント = false;

                        int para5_役 = Int32.Parse(ddl_ユーザ権限.SelectedValue.ToString());
                        kq = _mana.update_ユーザ管理_Ad04_Role_1_2_Vh(IdCurrent, para4_アカウント, para5_役);
                        if (kq != 0 && kq != -1)
                            Response.Redirect(Session["url"].ToString());
                    }
                }
            }
            #endregion
        }
        #endregion


        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        ///////////////////////////////////////CHANGE Password for NVTN Staff//////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////////
        if (Session["frm_MRecCompManager_flag"] != null || Session["frm_MRecCompManager_flag"] != "")
        {
            string _str_frm_MRecCompManager_flag = (string)Session["frm_MRecCompManager_flag"];
            if (_str_frm_MRecCompManager_flag == "0")
            {
                int kq = 0;
                string para1_企業コード = lbl_企業コード.Text;
                string para2_社員コード = lbl_社員コード.Text;
                string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);
                string _login人コード = Session["emplogin"].ToString();//Ten cua nguoi quan tri da thay doi mat khau
                DateTime date = DateTime.Now;
                kq = _mana.update_ユーザログイン_Ad04_CongTyTiepNhan_Vh(para1_企業コード, para2_社員コード, para3_パスワード, _login人コード, date);
                if (CustomValidator3.IsValid == true && (kq != 0 || kq != -1))
                {
                    ClearTextPage();
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                    Response.Redirect(Session["url"].ToString());
                }
            }
            else
            {
                //SysAdmin change password for Reception Company
                int kq = 0;
                string para1_企業コード = lbl_企業コード.Text;
                string para2_社員コード = lbl_社員コード.Text;
                string para3_パスワード = AppCode_Common.Encrypt(txt_新パスワード.Text, true);
                string _login人コード = Session["emplogin"].ToString();//Ten cua nguoi quan tri da thay doi mat khau
                DateTime date = DateTime.Now;
                kq = _mana.update_ユーザログイン_Ad04_CongTyTiepNhan_Vh(para1_企業コード, para2_社員コード, para3_パスワード, _login人コード, date);
                if (CustomValidator3.IsValid == true && (kq != 0 || kq != -1))
                {
                    ClearTextPage();
                    txt_現パスワード.Focus();
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "Change passsword success", "<script>alert('パスワードが変更出来ました。');</script>", false);
                    Response.Redirect(Session["url"].ToString());
                }
            }
        }

    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        ClearTextPage();
        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "Clear text client script", "ClearTextClient();", true);
        if(HiddenField2.Value=="1")
            txt_パスワード.Focus();
        if (HiddenField2.Value == "2")
            txt_新パスワード.Focus();
        if (HiddenField2.Value == "3")
            txt_現パスワード.Focus();
        if (HiddenField2.Value == "4")
            txt_現パスワード.Focus();
        if (HiddenField2.Value == "5")
            txt_新パスワード.Focus();

        //string PathCurrent = HttpContext.Current.Request.Url.AbsoluteUri;
        //Response.Redirect(PathCurrent);


        // ---------------------------------------------------------------------------------------------------------------------------
        // --------------------------------------------------Reset form nhu trang thai ban dau----------------------------------------
        if (Session["役"].ToString() == "3")
        {
            txt_現パスワード.Focus();
            ShowDataWithRole();

        }
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //----------------------------------Else role is : 1 or 2 - This is Admin and SysAdmin------------------------------------------------
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        if (Request.QueryString["id1"] != null && Request.QueryString["id2"] != null && Request.QueryString["e"] != null)
        {
            //Process common for Admin and SysAdmin
            int comand;
            Int32.TryParse(Request.QueryString["e"].ToString(), out comand);

            if (comand != 0 && (Request.QueryString["id1"] != null || Request.QueryString["id1"] != "") && (Request.QueryString["id2"] != null || Request.QueryString["id2"] != ""))
            {
                /////////////////////////////////////////////////////////////////////////////////////////////////////
                /////////////////////////////////This mode: set password for user and role//////////////////////////
                ///////////////////////////////////////////////////////////////////////////////////////////////////

                if (comand == 1)//Provide password cho another user 
                {
                    ShowDataWithRole();
                }
                /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                ///////////////////////////////////////this is mode: change password va role cho user////////////////////////////////////////////////////////////
                else if (comand == 2)
                {

                    ShowDataWithRole();
                    ChangeShowDataWithRole();
                    txt_新パスワード.Focus();
                }
            }
        }
        /////////////////////////////////////////////////////////////////////////////////////////////////////
        /////////////////////////NHAN VIEN PHAI CU//////////////////////////////////////////////////////////
        //////////CHI DC PHEP CHANGE PASSWORD CUA CHINH NO////////////////////////////////////////////////
        ///////////////////////////////////////////////////////////////////////////////////////////////////
        if (Session["frm_MRecCompManager_flag"] != null || Session["frm_MRecCompManager_flag"] != "")
        {
            string _str_frm_MRecCompManager_flag = (string)Session["frm_MRecCompManager_flag"];
            /////////////////////////////////////////////////////////////////////////////////////
            if (_str_frm_MRecCompManager_flag == "0")
            {
                //--------------------------La nhan vien phai cu------------------------------
                string userlogin = (string)Session["人コード"];
                string macongty = (string)Session["企業コード_2"];

                ShowDataNhanVienPhaiCu(macongty, userlogin);
                txt_現パスワード.Focus();
            }
            else
            {
                if (Session["frmD_UserLoginManager_人コード"] != null && Session["frmD_UserLoginManager_人コード"] != "" && Session["frmD_UserLoginManager_企業コード"] != null && Session["frmD_UserLoginManager_企業コード"] != "")
                {
                    string userlogin = (string)Session["frmD_UserLoginManager_人コード"];
                    string macongty = Session["frmD_UserLoginManager_企業コード"].ToString();

                    ShowDataNhanVienPhaiCu(macongty, userlogin);
                    txt_新パスワード.Focus();
                }

            }
        }
        // --------------------------------------------------Reset form nhu trang thai ban dau----------------------------------------
       
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Xoa sach text cua trang
    /// </summary>
    private void ClearTextPage()
    {
        txt_パスワード.Text = "";
        txt_現パスワード.Text = "";
        txt_新パスワード.Text = "";
        txt_再入力パスワード.Text = "";
        ddl_ユーザ権限.SelectedIndex = 0;
        ddl_状態.SelectedIndex = 0;
        txt_現パスワード.Text = "";
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Hien thi  thong tin ve nhan vien len man hinh
    /// </summary>
    private void ShowDataWithRole()
    {
        try
        {
            string para2 = Session["employeecode"].ToString();
            string para1 = Session["companycode"].ToString();

            本社情報Manager _mana = new 本社情報Manager();
            DataTable dt = _mana.select_本社情報_Ad04_Vh(para1, para2);
            lbl_企業.Text = dt.Rows[0]["企業名"].ToString();
            lbl_企業コード.Text = dt.Rows[0]["企業コード"].ToString();
            lbl_社員コード.Text = "";
            lbl_社員コード.Text = dt.Rows[0]["人コード"].ToString();
            lbl_社員名.Text = dt.Rows[0]["姓名"].ToString();
        }
        catch (Exception ex) { }
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Hien thi thong tin neu la nhan vien phai cu, hoac cong ty tiep nhan
    /// </summary>
    private void ShowDataNhanVienPhaiCu(string macongty, string userlogin)
    {
        try
        {
            string para2 = userlogin;
            string para1 = macongty;

            本社情報Manager _mana = new 本社情報Manager();
            DataTable dt = _mana.select_本社情報_CongTyTiepNhan_Ad04_Vh(para1, para2);
            lbl_企業.Text = dt.Rows[0]["企業名"].ToString();
            lbl_企業コード.Text = dt.Rows[0]["企業コード"].ToString();
            lbl_社員コード.Text = userlogin;//dt.Rows[0]["人コード"].ToString();

        }
        catch (Exception ex) { }
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Hien thi thong tin tuong ung  voi Role dang nhap
    /// </summary>
    private void ChangeShowDataWithRole()
    {

        try
        {
            String para2 = Session["employeecode"].ToString();
            String para1 = Session["companycode"].ToString();

            本社情報Manager _mana = new 本社情報Manager();  
            DataTable dt = _mana.select_本社情報_002_Ad04_Vh(para1, para2);
            //lbl_企業.Text = dt.Rows[0]["企業名"].ToString();
            //lbl_企業コード.Text = dt.Rows[0]["企業コード"].ToString();
            //lbl_社員コード.Text = "";
            //lbl_社員コード.Text = dt.Rows[0]["人コード"].ToString();
            //lbl_社員名.Text = dt.Rows[0]["姓名"].ToString();
            String temp;
            temp = dt.Rows[0]["役"].ToString();
            if (temp != "")
            {
                ListItem lst = ddl_ユーザ権限.Items.FindByValue(temp);
                ddl_ユーザ権限.SelectedIndex = ddl_ユーザ権限.Items.IndexOf(lst);
            }
            temp = "";
            temp = dt.Rows[0]["アカウント"].ToString();

            if (temp == "True")
            {
                ListItem lst = ddl_状態.Items.FindByValue("1");
                ddl_状態.SelectedIndex = ddl_状態.Items.IndexOf(lst);
            }
            else
            {
                if (temp == "False")
                {
                    ListItem lst = ddl_状態.Items.FindByValue("0");
                    ddl_状態.SelectedIndex = ddl_状態.Items.IndexOf(lst);
                }
            }

        }
        catch (Exception ex) { }
    }
  
    protected void txt_現パスワード_TextChanged(object sender, EventArgs e)
    {
        CustomValidator3.Validate();
        if (CustomValidator3.IsValid == false)
        {
            txt_現パスワード.Focus();
        }

        if (txt_現パスワード.Text.Trim() != "")
        {
            string temp = txt_現パスワード.Text;
            txt_現パスワード.Attributes.Add("value", temp);
            txt_新パスワード.Focus();
        }
    }
    
    protected void btn_戻る_Click(object sender, EventArgs e)
    {
        //string userlogin = (string)Session["frmD_UserLoginManager_人コード"];
        //string macongty = (string)Session["frmD_UserLoginManager_企業コード"];
        Session.Remove("frmD_UserLoginManager_人コード");
        Session.Remove("frmD_UserLoginManager_企業コード");

        if (Session["役"].ToString() == "3")
        {
            本社情報Manager _mana = new 本社情報Manager();
            string result;
            string int企業ID = Session["企業コード_2"].ToString();

            // result = _mana.select_企業分類コード_into_本社情報_Ad04_VH(lbl_企業コード.Text, lbl_社員コード.Text);
            result = _mana.select_企業分類コード_into_本社情報_Ad04_VH(int企業ID, lbl_社員コード.Text);
            
            if (result == "3")
            {
                Response.Redirect("frm_MJointCompManager.aspx");
            }

            if (result == "1")
            {
                Response.Redirect("frm_MRecCompManager.aspx");
            }

            if (result == "4")
            {
                Response.Redirect("frm_MOrgManager.aspx");
            }
        }
        else
        {
            Response.Redirect(Session["url"].ToString());
        }
    }

    /// <summary>
    /// Coder: Ha Van Hoat
    /// Function: Lay role cua nguoi dung, nhan vien,...
    /// </summary>
    protected String GetRoleCurrentOfUser(String id1, String id2)
    {
        String result = "";

        result = new 本社情報Manager().GetRoleCurrentOfUserBelongToParamAddressbar(id1, id2);

        return result;
    }

}


